document.addEventListener('DOMContentLoaded', function() {
  // API 端点 URL
  const apiEndpointUrl = 'http://localhost:9000/users/rpwd';
  // 从本地存储获取 token 和用户 ID
  const storedTokenKey = localStorage.getItem('token');
  const currentUserIdentifier = localStorage.getItem('userId');

  // 如果没有 token 或用户 ID，提示用户先登录并跳转到登录页面
  if (!storedTokenKey || !currentUserIdentifier) {
    alert('请先登录');
    window.location.href = 'login.html';
    return;
  }

  // 获取页面中的输入框和表单元素
  const inputOldPassword = document.querySelector('.oldpassword');
  const inputNewPassword = document.querySelector('.newpassword');
  const inputRepeatNewPassword = document.querySelector('.rnewpassword');
  const formElement = document.querySelector('form');
  const errorMessageElement = document.querySelector('.error');

  // 处理密码修改事件的异步函数
  async function handlePasswordChangeEvent(event) {
    event.preventDefault(); // 阻止表单的默认提交行为

    // 获取输入框的值并去除两端空白
    const oldPasswordValue = inputOldPassword.value.trim();
    const newPasswordValue = inputNewPassword.value.trim();
    const repeatNewPasswordValue = inputRepeatNewPassword.value.trim();

    // 检查新密码和确认新密码是否一致
    if (newPasswordValue !== repeatNewPasswordValue) {
      alert('新密码和确认新密码不一致');
      return;
    }

    try {
      // 发送POST请求修改密码
      const response = await axios.post(apiEndpointUrl, {
        id: currentUserIdentifier,
        oldPassword: oldPasswordValue,
        newPassword: newPasswordValue,
        rNewPassword: repeatNewPasswordValue
      }, {
        headers: { 'Authorization': storedTokenKey } // 设置请求头的授权信息
      });

      if (response.data.code === 1) { // 修改密码成功
        alert(response.data.message); // 显示成功信息
        // 移除本地存储中的用户信息
        localStorage.removeItem('user_id');
        localStorage.removeItem('token');
        localStorage.removeItem('nickname');
        window.location.href = 'login.html'; // 跳转到登录页面
      } else { // 修改密码失败
        errorMessageElement.textContent = response.data.message; // 显示错误信息
        errorMessageElement.style.display = 'block';
      }
    } catch (error) { // 请求失败
      alert('修改密码出错，请稍后重试');
    }
  }

  // 为表单提交事件绑定 handlePasswordChangeEvent 函数
  formElement.addEventListener('submit', handlePasswordChangeEvent);
});
